#include <stdio.h>

int main(void) {
    // printf("Hello, World!\n");
    // int *p,m=5,n;
    // // p=&n;
    // // scanf("%d",&p);
    // scanf("%d",&n);
    // *p=n;
    // int a[5]={2,4,6,8};
    // int *p=a;
    // int **k=&p;
    // printf("%d ",*(p++));
    // printf("%d ",**k);
    // int b=3,*pa=&b;
    // // 在 C 语言中，确实，括号具有最高的优先级，但是当涉及到后缀递增运算符 `(p++)` 时，它是一个单独的表达式，并且它的递增部分是在表达式求值之后发生的。这是因为后缀递增运算符 `++` 的行为定义为先返回变量的当前值，然后变量的值增加。
// 在表达式 `*(p++)` 中，虽然括号内的表达式 `(p++)` 会首先被计算，但是 `p++` 这个操作本身是分为两步进行的：
// 1. 返回 `p` 当前的值给解引用操作符 `*`。
// 2. 在表达式求值之后，`p` 的值增加。
// 所以，即使 `p++` 作为一个整体在括号内被计算，它的递增部分仍然发生在整个表达式 `*(p++)` 求值之后。这是后缀递增运算符定义的一部分，确保了先取得当前值，然后才进行递增。
// 因此，`*(p++)` 会打印出 `p` 当前指向的值（在这个例子中是数组 `a` 的第一个元素 `2`），然后 `p` 指向下一个元素（指向数组 `a` 的第二个元素 `4`）。如果你想要打印 `p` 递增后的值，你需要使用不同的方法，比如先将 `p` 递增，然后再解引用，即 `*(p + 1)`。

    return 0;
}
